package com.hhc.service;

import com.hhc.dto.LoginRequest;
import com.hhc.dto.RegisterRequest;
import com.hhc.entity.UserInfo;
import com.hhc.query.NoticeQuery;
import com.hhc.query.UserQuery;
import com.hhc.utils.RestResult;

import java.util.Map;

/**
 * 认证服务接口
 *
 * @author pc
 */
public interface AuthService {

    /**
     * 用户注册
     *
     * @param registerRequest 注册请求参数
     * @return 成功与否
     */
    boolean register(RegisterRequest registerRequest);

    /**
     * 用户登录
     *
     * @param loginRequest 登录请求参数
     * @return 包含token和其他信息的map
     */
    Map<String, Object> login(LoginRequest loginRequest);


    /**
     * 查询用户列表
     *
     * @param query 查询参数
     * @return RestResult
     */
    RestResult<Object> list(UserQuery query);

    /**
     * 更新用户信息
     */
    boolean updateUser(Long id, LoginRequest loginRequest);

    /**
     * 删除用户
     */
    boolean deleteUser(Long id);


}